"use strict";
var __extends = (this && this.__extends) || function (d, b) {
    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
    function __() { this.constructor = d; }
    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var React = require("react");
var electron = require('electron');
var Obj = require('object-assign');
var __1 = require('../../工具代码/颜色');
var R____1 = require('../../核心代码/R控件基类');
var 基类 = require('../../核心代码/控件基类');
var __2 = require('../交互组件/菜单');
var ipcR = electron.ipcRenderer;
var ipcM = electron.remote.ipcMain;
var R头像 = (function (_super) {
    __extends(R头像, _super);
    function R头像(props) {
        var _this = this;
        _super.call(this, props);
        this.基础数据 = {};
        this.主窗口失去焦点 = ipcR.on('主窗口_失去焦点', function () {
            if (!_this.state.是否显示) {
                _this.setState({ 切换: 基类.隐藏, 是否显示: true });
            }
        });
        this.事件处理 = Obj({}, this.基本事件, {
            onClick: function (e) {
                e.stopPropagation();
                _this.基础数据.头像被点击 ? _this.基础数据.头像被点击(e) : {};
                _this.隐藏菜单();
            }
        });
        this.基础数据 = this.props;
        this.标准样式 = this.基础数据.自定义样式 ? this.基础数据.自定义样式 : Obj({}, this.标准样式, {
            WebkitAppRegion: 'no-drag', zIndex: 10010
        });
        this.经过样式 = Obj({}, this.经过样式, {
            boxShadow: new 基类.阴影(0, 0, 5, 2, __1.default.rgb(255, 255, 255)).取值
        });
        this.点击样式 = Obj({}, this.经过样式, {
            boxShadow: new 基类.阴影(0, 0, 10, 2, __1.default.rgb(255, 255, 255)).取值
        });
        this.state = {
            使用样式: this.标准样式,
            切换: 基类.隐藏,
            是否显示: true,
            是否启用: this.基础数据.是否启用 ? null : this.基础数据.是否启用
        };
    }
    R头像.prototype.隐藏菜单 = function () {
        if (this.state.是否显示) {
            this.setState({ 切换: 基类.显示, 是否显示: false });
        }
        else {
            this.setState({ 切换: 基类.隐藏, 是否显示: true });
        }
    };
    R头像.prototype.render = function () {
        var _this = this;
        if (this.state.是否启用 == null || this.state.是否启用 == true) {
            return (React.createElement("div", {id: this.基础数据.id}, React.createElement("img", React.__spread({src: this.基础数据.src, draggable: "false", style: this.state.使用样式}, this.事件处理)), React.createElement("div", {style: this.state.切换}, React.createElement(__2.default, {"隐藏菜单": function () {
                _this.隐藏菜单();
            }, "菜单数据": this.基础数据.菜单数据}))));
        }
        else {
            return (React.createElement("div", {id: this.基础数据.id}, React.createElement("img", {src: this.基础数据.src, draggable: "false", style: this.禁用样式})));
        }
    };
    return R头像;
}(R____1.default));
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = R头像;
